package org.example.myleet.p504;

public class Solution {
    /**
     * 另y = x0*7^0 + x1*7^1 + ... + xn*7^n
     * 其中x0～xn都是0～6的数字，y就是一个7进制的数字xn、xn-1、...、x1、x0
     * 每次除7，就会对每个x剥离一个7，没有7之后就作为对应位置存储起来，最后reverse一下变成正常顺序，注意负数
     */
    public String convertToBase7(int num) {
        StringBuilder sb = new StringBuilder();
        boolean negative = false;
        if (num < 0) {
            negative = true;
            num = -num;
        } else if (num == 0) {
            return "0";
        }
        while (num >= 7) {
            sb.append(num % 7);
            num = num / 7;
        }
        if (num > 0) {
            sb.append(num);
        }
        if (negative) {
            return sb.append('-').reverse().toString();
        }
        return sb.reverse().toString();
    }
}
